Specify Printer Name
Set the PrinterName property on PrintSettings to direct a print job to a specific printer instead of the system default. The value must match one of the names returned by Printer.GetPrinterNames(), such as a network printer's share name or a virtual printer like "Microsoft Print to PDF".
This is particularly valuable in environments with multiple printers — for instance, routing invoices to a dedicated billing printer while sending shipping labels to a label printer. Note that if you also use ShowPrintDialog, the printer selected in the dialog will override this setting.

